package com.zhuoan.im.webapp.biz;

import com.github.miemiedev.mybatis.paginator.domain.PageList;
import com.zhuoan.im.webapp.dao.model.User;
import com.zhuoan.im.webapp.dao.model.condition.UserCondition;
import com.zhuoan.im.webapp.dao.model.form.UserForm;
import com.zhuoan.im.webapp.dao.model.vo.UserVO;
import org.jim.common.packets.LoginReqBody;
import org.tio.core.ChannelContext;

import java.util.List;

/**
 * UserBiz
 *
 * @author weixiang.wu
 * @date 2018-10-13 16:57
 **/
public interface UserBiz {
    User selectByPrimaryKey(Long id);

    PageList<UserVO> queryAllUsersByCondition(UserCondition userCondition);

    org.jim.common.packets.User queryUserVOByCondition(LoginReqBody loginReqBody, UserCondition userCondition, ChannelContext channelContext);

    List<UserVO> queryUserVOByIds(List<Long> inCurrentGroupUserIds);

    void addUser(UserForm userForm);

    void updateUserInfoByBlockAddr(UserForm userForm);
}
